package com.jbp.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jbp.dao.EquipUserDao;
import com.jbp.model.Equip;
import com.jbp.model.EquipUser;
import com.jbp.service.EquipService;
import com.jbp.service.EquipUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jbp.utils.PageUtils;
import com.jbp.utils.Query;
import java.util.Map;

/**
 * 用户装备(EquipUser)表服务实现类
 * @author cc
 * @since 2021-09-23 11:28:13
 */
@Service
public class EquipUserServiceImpl extends ServiceImpl<EquipUserDao, EquipUser> implements EquipUserService {
    @Autowired
    private EquipService equipService;
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        QueryWrapper<EquipUser> queryWrapper = new QueryWrapper<>();
        if (params.get("id") != null){
            queryWrapper.like("id",params.get("id"));
        }
        IPage<EquipUser> page = this.page(
                new Query<EquipUser>().getPage(params),
                queryWrapper
        );

        return new PageUtils(page);
    }

    @Override
    public EquipUser getByUser(String type, Integer userId) {
        QueryWrapper<EquipUser> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("type", type);
        queryWrapper.eq("user_id", userId);
        return getOne(queryWrapper);
    }

    @Override
    public Equip getEquipByUser(String type, Integer userId) {
        EquipUser equipUser = getByUser(type, userId);
        if (equipUser!=null) {
            return equipService.getById(equipUser.getEquipId());
        }
        return null;
    }
}